--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Commit cbedd72993dc2e7b32e32a9c8243a8dffa9016aa
Parents : c3fe371
Author : Kevin Brosius <cobra@compuserve.com>
Date : 2025-02-23T18:52:17-05:00
Seeed ESP32S3 - enable button sleep, stopRadio at sleep
to sleep sx1262 also.
Changes
3 files changed, 13 insertions(+), 8 deletions(-)
Diff
diff --git a/Boards.h b/Boards.h
index 112d2c9..f93790f 100644
--- a/Boards.h
+++ b/Boards.h
@@ -620,8 +620,10 @@
#define HAS_EEPROM true
#define HAS_INPUT true
- #define HAS_SLEEP false
-
+ #define HAS_SLEEP true
+ #define PIN_WAKEUP GPIO_NUM_21
+ #define WAKEUP_LEVEL 0
+
// #define PMU_IRQ 40
// #define I2C_SCL 41
// #define I2C_SDA 42
diff --git a/RNode_Firmware.ino b/RNode_Firmware.ino
index c2b9886..79bff2f 100644
--- a/RNode_Firmware.ino
+++ b/RNode_Firmware.ino
@@ -1612,7 +1612,7 @@ void loop() {
void sleep_now() {
#if HAS_SLEEP == true
#if PLATFORM == PLATFORM_ESP32
- #if BOARD_MODEL == BOARD_T3S3
+ #if BOARD_MODEL == BOARD_T3S3 || BOARD_MODEL == BOARD_SEEED_XIAO_ESP32S3
display_intensity = 0;
update_display(true);
#endif
@@ -1626,6 +1626,7 @@ void sleep_now() {
delay(100);
}
#endif
+ stopRadio();
esp_sleep_enable_ext0_wakeup(PIN_WAKEUP, WAKEUP_LEVEL);
esp_deep_sleep_start();
#elif PLATFORM == PLATFORM_NRF52
diff --git a/sx126x.cpp b/sx126x.cpp
index ebbde43..68bf7b1 100644
--- a/sx126x.cpp
+++ b/sx126x.cpp
@@ -122,17 +122,19 @@ sx126x::sx126x() :
{ setTimeout(0); }
bool sx126x::preInit() {
-// delay(300);
- //LoRa->reset();
-// reset();
-// delay(100);
+ #if BOARD_MODEL == BOARD_SEEED_XIAO_ESP32S3
+ // Improve wakeup from sleep
+ delay(300);
+ reset();
+ delay(100);
+ #endif
pinMode(_ss, OUTPUT);
digitalWrite(_ss, HIGH);
#if BOARD_MODEL == BOARD_T3S3 || BOARD_MODEL == BOARD_HELTEC32_V3 || BOARD_MODEL == BOARD_TDECK
SPI.begin(pin_sclk, pin_miso, pin_mosi, pin_cs);
- #elif BOARD_MODEL == BOARD_TECHO // || BOARD_MODEL == BOARD_SEEED_XIAO_ESP32S3
+ #elif BOARD_MODEL == BOARD_TECHO
SPI.setPins(pin_miso, pin_sclk, pin_mosi);
SPI.begin();
#else
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────